AlteryxでSQLiteへ接続するためのTips
Alteryxはコーディング無しで様々なデータベースに接続可能です。以下公式ヘルプドキュメントにも記載されているように、もちろんSQLiteにも接続可能です。
接続のためのドライバも不要で、他のRDBと違って単一ファイルとして生成され、コストもかからない…といった、用途さえ合えばお手軽で便利なSQLiteにAlteryxで接続してみましょう。
目次
前提条件
今回使用しているツール・環境は以下の通りです。
SQLiteとは
SQLiteとはオープンソースのデータベースで、サーバ上で稼働するようなDBとは異なりデータを単体のファイルとして保持します。主にアプリケーションに組み込まれる内部DBとして使用されることが多いです。
SQLiteをダウンロード
以下公式サイトのダウンロードページより、SQLiteをダウンロードします。
AlteryxはWindows環境でのみ稼働するので(2019年6月現在)、「Precompiled Binaries for Windows」からファイルを選びます。今回はコマンドラインでDBを確認するため、コマンドラインツールを含む「sqlite-tools-win32-x86-3280000.zip」をダウンロードしています。
ダウンロードしたzipファイルは任意の場所に解凍しておきましょう。データベースを作成する場合など、コマンドライン上からSQLiteを操作する場合はこのディレクトリ上に移動してから実施します。
AlteryxでSQLiteに接続する
コマンドラインツールからDBやテーブルを作成することも可能ですが、SQLiteの読み込み・書き込みの両方に対応しているAlteryxを使わない手はありません。早速接続してみましょう!
データベース・テーブルを作成する
.sqliteファイルとして書き出すためのワークフローを以下のように作成しました。
このデータを…
このように加工してSQLiteに書き出します。
書き出すために使用するのはOutput Data Tool(データ出力ツール)です。後ほどコマンドラインよりデータベースを確認するため、前項でダウンロードしたSQLite3.exeが格納されているディレクトリを出力先として指定します。
<任意の名前>.sqlite
と指定すると、テーブル名を入力するためのダイアログが出ます。名前を入力してOKを押します。
以下赤枠部分のように、<任意の名前>.sqlite|||<任意のテーブル名>
という形で出力ファイルが指定されます。Excelファイルを出力するケースと同じですね。今回は初めてテーブルを作成するので「Create New Table」を選ぶことで新規テーブルを作成するように設定しました。
実行すると.sqliteファイルが生成されます。コマンドラインで実際に格納されたデータを確認してみましょう。 SQLite3.exeと作成したDBのあるディレクトリへ移動し、DBへ接続します。
sqlite3 <任意の名前>.sqlite
SELECT文は他のRDBと変わりありません。無事データが格納されていることが確認できました!
データベースを読み込む
読み込みする場合はInpit Data Tool(データ入力ツール)を使用します。設定画面からFileを選び、DBを選択します。
「Choose Table or Specify Query」の画面が出るので、読み込みたいテーブルを指定しましょう。
きちんと読み込めました!
注意!日本語が読み込めない時は…
これでSQLiteの読み込みはバッチリ!早速このデータを読み込むぞ〜!
あれ?Alteryxで読み込むと日本語を含む値が「????」になってしまった…………というケースに直面することもあるかと思います。
このような場合はデータ型を確認してみてください。データ型がCHAR型の場合、Alteryxで読み込むと「????」が表示されてしまいます。
特にAlteryxからテーブルを作成した場合、最初は英字しか入っていないカラムでテーブルを作成すると、AlteryxではString型でDB上ではCHAR型となります。後から日本語データを同一カラムに追加するとAlteryx上ではV_WString型になりますが、DB上でのデータ型は変わらずCHAR型のままです。このままAlteryxで読み込むと、日本語だけ正常に読み込めなくなります。以下はAlteryxとSQLiteの文字型の対応関係です。
Alteryx | SQLite |
---|---|
String型 | CHAR型 |
V_WString型 | NVARCHAR型 |
WString型 | NCHAR型 |
おわりに
Alteryxを使ったSQLiteのデータベースへの接続方法についてご紹介しました。複数の人が同時にアクセスするような用途では厳しいですが、インターネット接続が無く、データ量もそこまで大きくないのでローカル端末に気軽にデータベースを作ってみたい…なんて用途にはSQLiteが合うかもしれません。まったく本筋と関係がない余談ですが、サンプルデータを考えている時間が一番楽しかったです。
参考資料
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。